package com.github.pig.admin.model.managerfee;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author lxm
 * @since 2018-09-05
 */
@TableName("community_manager_fee")
public class CommunityManagerFee extends Model<CommunityManagerFee> {

    private static final long serialVersionUID = 1L;
    @TableId(value = "id",type = IdType.UUID)
    private String id;
    @TableField("community_id")
    private String communityId;
    @TableField("building_id")
    private String buildingId;
    @TableField("min_floor")
    private Integer minFloor;
    @TableField("max_floor")
    private Integer maxFloor;
    @TableField("manager_fee")
    private Double managerFee;
    @TableField("shlj_fee")
    private Double shljFee;
    @TableField("water_fee")
    private Double waterFee;
    @TableField("electric_fee")
    private Double electricFee;
    @TableField("type")
    private String type;
    @TableField(exist = false)
    private String typeName;
    @TableField("heating_fee")
    private Double heatingFee;
    /**
     * 结束时间
     */
    @TableField("invalid_date")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    @DateTimeFormat(pattern ="yyyy-MM-dd" )
    private Date invalidDate;

    /**
     * 生效时间
     */
    @TableField("valid_date")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    @DateTimeFormat(pattern ="yyyy-MM-dd")
    private Date validDate;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField("update_time")
    private Date updateTime;

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }



    public Date getValidDate() {
        return validDate;
    }

    public void setValidDate(Date validDate) {
        this.validDate = validDate;
    }

    public Date getInvalidDate() {
        return invalidDate;
    }

    public void setInvalidDate(Date invalidDate) {
        this.invalidDate = invalidDate;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCommunityId() {
        return communityId;
    }

    public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }

    public String getBuildingId() {
        return buildingId;
    }

    public void setBuildingId(String buildingId) {
        this.buildingId = buildingId;
    }

    public Integer getMinFloor() {
        return minFloor;
    }

    public void setMinFloor(Integer minFloor) {
        this.minFloor = minFloor;
    }

    public Integer getMaxFloor() {
        return maxFloor;
    }

    public void setMaxFloor(Integer maxFloor) {
        this.maxFloor = maxFloor;
    }

    public Double getManagerFee() {
        return managerFee;
    }

    public void setManagerFee(Double managerFee) {
        this.managerFee = managerFee;
    }

    public Double getShljFee() {
        return shljFee;
    }

    public void setShljFee(Double shljFee) {
        this.shljFee = shljFee;
    }

    public Double getWaterFee() {
        return waterFee;
    }

    public void setWaterFee(Double waterFee) {
        this.waterFee = waterFee;
    }

    public Double getElectricFee() {
        return electricFee;
    }

    public void setElectricFee(Double electricFee) {
        this.electricFee = electricFee;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Double getHeatingFee() {
        return heatingFee;
    }

    public void setHeatingFee(Double heatingFee) {
        this.heatingFee = heatingFee;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "CommunityManagerFee{" +
        ", id=" + id +
        ", communityId=" + communityId +
        ", buildingId=" + buildingId +
        ", minFloor=" + minFloor +
        ", maxFloor=" + maxFloor +
        ", managerFee=" + managerFee +
        "}";
    }
}
